package com.neuedu.wemall.dao.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import org.apache.ibatis.type.Alias;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
* Author lu
* Date  2025-09-08 15:17:25
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@ToString
@Alias("category")
@TableName(value = "category")
public class Category implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
    *序号
    */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
    * 分类名称
    */
    @TableField(value = "name")
    private String name;
    /**
    * 分类级别(1:一级分类;2:二级分类)
    */
    @TableField(value = "level")
    private Integer level;
    /**
    * LOGO或图标
    */

    private String icon;
    /**
    * 所属父分类ID
    */
    //parent_id
    private Integer parentId;//驼峰
    /**
    * 分类排序索引
    */

    private Integer sort;
    /**
    * 分类描述
     * `desc`
    */
    private String desc;
    /**
    * 创建时间
    */

    private Date createTime;
    /**
    * 创建用户ID
    */
    @TableField(value = "create_user")
    private Integer createUser;
    /**
    * 修改时间
    */
    @TableField(value = "modify_time")
    private Date modifyTime;
    /**
    * 修改用户ID
    */
    @TableField(value = "modify_user")
    private Integer modifyUser;
    /**
    * 备注信息
    */
    @TableField(value = "remark")
    private String remark;
    /**
    * 逻辑删除状态(1:未删除;9:未删除)
    */
    @TableField(value = "del_status")
    private Integer delStatus;
    /**
     * 子分类
     */
    @TableField(exist = false)
    private List<Category> children;
    /**
     * 父分类
     */
    @TableField(exist = false)
    private  Category parent;


}